package com.groupbuying.provider.service;

import com.groupbuying.provider.domain.StoreAccountDO;
import com.groupbuying.provider.dto.StoreAccountDTO;
import com.groupbuying.provider.dto.forManage.LoginDTO;
import com.groupbuying.provider.utils.R;
import com.groupbuying.provider.utils.apiresult.ApiResult;
import org.springframework.stereotype.Service;

import javax.validation.Valid;
import java.util.List;
import java.util.Map;

/**
 * 商户表
 *
 * @author yuwenxiaodong
 * @email yuwenxiaodong@126.com
 * @date 2019-03-22 11:54:48
 */
@Service
public interface StoreAccountService {
    StoreAccountDO get(String accountId);
    /**
     * 增加服务商查询
     * @param map
     * @return
     */
    List<StoreAccountDTO> getStoreAndAgentName(Map<String, Object> map);
    List<StoreAccountDO> list(Map<String, Object> map);
    /**
     * 根据uuids 获取map
     *
     * @param accountUuids
     * @return
     */
    Map<String, StoreAccountDO> getMapByUuids(List<String> accountUuids);

    int countForMinList(Map<String, Object> map);

    int count(Map<String, Object> map);

    boolean exits(Map<String, Object> params);

    /**
     * 获取首页流水登陆信息以及余额
     *
     * @return
     */
    ApiResult getUshop();

    /**
     * 获取提现流水
     *
     * @param map
     * @return
     */
    ApiResult getFlowStore(Map<String, String> map);

    // 服务商自管理平台，登录
    R internal_login(@Valid LoginDTO loginDTO);

    //通过账号获取信息
    StoreAccountDO getByAccountName(String accountName);

    R internal_getStaffListLike(Map<String, Object> params);

    List<StoreAccountDO> listLike(Map<String, Object> map);

    // 服务商员工,未绑定收银台的
    R internal_getStaffList_unBangDing(Map<String, Object> params);
}
